System and method for gathering and analyzing objective motion data

ABSTRACT

The systems and methods described herein attempt to provide data capture and analysis in a non-intrusive fashion. The captured data can be analyzed for qualitative conclusions regarding an object&#39;s actions. For example, a system for analyzing activity of an athlete to permit qualitative assessments of that activity comprises a first processor to receive activity-related data from sensors on the athlete. A first database stores the activity-related data. A second database contains pre-identified motion rules. A second processor compares the received activity-related data to the pre-identified motion rules, wherein the second processor identifies a pre-identified motion from the pre-identified motion rules that corresponds to the received activity-related data. A memory stores the identified pre-selected motion.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to co-pending U.S. Provisional PatentApplication No. 61/119,915, filed Dec. 4, 2008, entitled, “SYSTEM ANDMETHOD FOR GATHERING AND ANALYZING OBJECTIVE MOTION DATA,” which isherein incorporated by reference in its entirety.

BACKGROUND

1. Field of the Invention

The invention relates generally to the field of analyzing motion datafor translation to qualitative assessment, and more particularly, tosystems and methods for the analysis and display of qualitative outcomesregarding object data in sports entertainment.

2. Description of the Related Art

Many currently available data capture and analysis devices for athletesare intrusive to the athlete's performance. As a result, the devices maynot be effectively used in an analysis during an event. In anotherscenario, the athlete may refuse to incorporate the device into hisequipment or attire. A professional boxer, for example, wears footwear,boxer shorts, and boxing gloves during a boxing bout. Some amateurboxers can wear head gear and a vest, but a professional boxer does not.In another example, a soccer player wears footwear, shin guards, shorts,and a shirt. An athlete's uniform is designed for maximum mobility andprotection, and should not impede the performance of the athlete. Thus,there is a need for a system and a method for data capture and analysisthat does not interfere with an athlete's actions and abides by therules of the sport.

SUMMARY

The systems and methods described herein attempt to provide data captureand analysis in a non-intrusive fashion. The captured data can beanalyzed for qualitative conclusions regarding an object's actions.

In one embodiment, a computer-implemented method analyzes activity of anathlete to permit qualitative assessments of that activity using aprocessor. The method comprises receiving activity-related data fromsensors on the athlete. A database stores the activity-related data. Theprocessor compares the received activity-related data against a set ofpre-identified discrete outcomes. The processor identifies by theprocessor one of the pre-identified outcomes as corresponding to thereceived activity-related data based on the comparison of the receivedactivity-related data against the set of pre-identified outcomes. Theidentified pre-identified outcome is displayed.

In another embodiment, a system for analyzing activity of an athlete topermit qualitative assessments of that activity comprises a firstprocessor to receive activity-related data from at least one sensor onthe athlete. The at least one sensor has a first three-axisaccelerometer coupled to the first processor and a first gyroscopecoupled to the first processor. A first database stores theactivity-related data from the at least one sensor. A second databasecontains pre-identified motion rules. A transmitter couples to the firstprocessor to transmit the activity-related data to a second processor. Areceiver couples to the second processor to receive the activity relateddata from the transmitter. The second processor compares the receivedactivity-related data to the pre-identified motion rules, wherein thesecond processor identifies a pre-identified motion from thepre-identified motion rules that corresponds to the receivedactivity-related data. A memory stores the identified pre-selectedmotion.

In another embodiment, a method analyzes hand activity of a boxer withan accelerometer and a gyroscope disposed on a hand of the boxer using acomputer having a memory to permit qualitative assessments of theactivity. The method comprises receiving by a computer handactivity-related accelerometer data from the accelerometer disposed onthe hand of the boxer. A computer receives hand activity-relatedgyroscope data from the gyroscope disposed on the hand of the boxer. Thememory stores the hand activity-related accelerometer and the handactivity-related gyroscope data. The computer detects a hand event andif a hand motion is detected, compares the received handactivity-related accelerometer data and hand activity-related gyroscopedata against a motion profile. The computer identifies a hand motioncorresponding to the received hand activity-related accelerometer andgyroscope data based on the comparison of the received handactivity-related accelerometer and gyroscope data against the motionprofile.

In another embodiment, a computer program product has a computer usablemedium having computer readable program code embodied therein foranalyzing hand activity of a boxer with an accelerometer and a gyroscopedisposed on a hand of the boxer. The computer readable program code inthe computer program product has computer readable program code forreceiving hand activity-related accelerometer data from theaccelerometer disposed on the hand of the boxer. The computer readableprogram code has code for receiving hand activity-related gyroscope datafrom the gyroscope disposed on the hand of the boxer. The computerreadable program code has code for storing the hand activity-relatedaccelerometer and the hand activity-related gyroscope data in thememory. Additionally, there is computer readable program code fordetecting a hand event. The computer readable program code has code forcomparing the received hand activity-related accelerometer data and handactivity-related gyroscope data against a motion profile if the handevent is detected. The computer readable program code has code foridentifying a hand motion corresponding to the received handactivity-related accelerometer and gyroscope data based on thecomparison of the received hand activity-related accelerometer andgyroscope data against the motion profile.

In another embodiment, a computer program product has a computer usablemedium that has computer readable program code embodied therein foranalyzing activity of an athlete to permit qualitative assessments ofthat activity. The computer program product has code for receivingactivity-related data from sensors on the athlete. The computer readableprogram code has code storing the activity-related data in a database.The computer readable program code has code for comparing by thereceived activity-related data against a set of pre-identified discreteoutcomes. The computer readable program code has code for identifying bythe processor one of the pre-identified outcomes as corresponding to thereceived activity-related data based on the comparison of the receivedactivity-related data against the set of pre-identified outcomes. Thecomputer readable program code for displaying the identifiedpre-identified outcome.

In another embodiment, a system analyzes punch activity of a boxer withan accelerometer and a gyroscope disposed on a hand of the boxer topermit qualitative assessments of the activity. The system has means forreceiving hand activity-related accelerometer data from theaccelerometer disposed on the hand of the boxer, a means for receivinghand activity-related gyroscope data from the gyroscope disposed on thehand of the boxer, a means for storing the hand activity-relatedaccelerometer and the hand activity-related gyroscope data, a means fordetecting a hand event, a means for comparing the received handactivity-related accelerometer data and hand activity-related gyroscopedata against a motion profile if the hand event is detected, and a meansfor identifying a hand motion corresponding to the received handactivity-related accelerometer and gyroscope data based on thecomparison of the received hand activity-related accelerometer andgyroscope data against the motion profile.

In another embodiment, a computer-implemented method displaysqualitative hand assessment data of a boxer having an accelerometer anda gyroscope disposed on a hand of the boxer. The method has a computerthat receives a real-time video data of the boxer. The computer receivesdata from a visualization engine, wherein the data comprises a real-timehand analysis data, and wherein the real-time hand analysis datacomprises data identified by the analysis engine as one of apre-identified outcome stored in a database corresponding to the datafrom the accelerometer and the gyroscope. The computer simultaneouslydisplays the real-time video data and the real-time hand analysis data.

BRIEF DESCRIPTION OF THE DRAWINGS

In the Figures:

FIG. 1 shows an overall system design according to an exemplaryembodiment;

FIG. 2 shows various available data sensors and locations on a boxer'sbody according to an exemplary embodiment;

FIG. 3 shows various available end uses according to an exemplaryembodiment;

FIG. 4 shows a system for transmitting data from an item of athleticequipment to a computer according to an exemplary embodiment;

FIG. 5 shows a boxing glove cuff adapted to hold sensors according to anexemplary embodiment;

FIG. 6 shows a boxing glove adapted to hold sensors according to anexemplary embodiment;

FIGS. 7 a to 7 e show various perspective views of a soft switchassembly according to an exemplary embodiment.

FIG. 8 shows a system for collecting data from sensors according to anexemplary embodiment;

FIG. 9 shows an accelerometer according to an exemplary embodiment;

FIGS. 10 a to 10 d show jab and uppercut data in the form of graphs andcorresponding punch depictions according to an exemplary embodiment;

FIG. 11 shows a flow diagram of a method to analyze and display dataaccording to an exemplary embodiment;

FIG. 12 shows a screen shot of boxing display data and analysisaccording to an exemplary embodiment; and

FIG. 13 shows a 2-dimensional representation of location triangulationaccording to an exemplary embodiment.

DETAILED DESCRIPTION

Reference will now be made in detail to the preferred embodiments of thepresent invention, examples of which are illustrated in the accompanyingdrawings.

FIG. 1 shows an exemplary system for capturing and analyzingactivity-related data on an athlete 100. The exemplary system 100 caninclude, among other components, at least one sensor 102 or other datacapture device 104, a signal strength monitor 105, and a transmitter 106connected to the sensor 102 or data capture device 104. The sensor 102can be positioned within equipment on the athlete to collect dataregarding acceleration, force, orientation, or impact and transmit thisdata through the transmitter 106 to a data capture application 112 on acomputer with a receiver (not shown). For example, in boxing, sensordata can be collected and analyzed for determining the speed and vectorof a punch. The signal strength monitor 105 can judge the distance ofthe transmitter 106 or other radio device from the monitor using thestrength of the signal. Data from multiple signal strength monitors 105can be used to calculate the location of an athlete, or even parts ofthe athlete. The sensor 102 and/or data capture device 104, such as acamera, can provide activity-related data that is transmitted from theathlete's equipment to the computer, where it can be stored in adatabase and analyzed.

The computer connected to the sensor 102, data capture device 104,signal strength monitor 105, and/or transmitter 106 can execute a datacapture application 112, a server application 114, analysis software116, a database platform 118, and a visualization engine 120. The datacapture application 112 receives input data from data capture devices104 and sensors 102 and stores them in a memory, such as RAM, a harddrive, a database, or flash memory. A server application 114 has accessto the data stored by the data capture application 112 and coordinatesthe data with analysis software 116, the database platform 118, and thevisualization engine 120. The analysis software 116 compares thereceived data with historical data in the database. The analysissoftware then sends the results of its analysis to the serverapplication 114. The server application 114 sends the analysis resultsto a visualization engine 120 that displays the results. Eachapplication can be on a single computer or on separate computersconnected through a network or the internet

FIG. 2 illustrates various sensors and data capture devices that can bepositioned within the equipment and clothing of an athlete 200. In oneembodiment, an athlete can wear headgear 202 having a biometric sensor204, a motion capture surface 206, and a force sensor 208. The biometricsensor 204, such as a temperature sensor, can be positioned between theheadgear pads and the forehead of the athlete, monitoring thetemperature of the athlete during an event. The motion capture surface206 can be a surface coated with retro-reflective material to reflectlight at a camera. A camera can be fitted with a filter so that onlyinfrared light is sampled. Since the retroreflective material is morereflective than the rest of the materials used, the camera caneffectively ignore the background. The force sensor 208 can also bepositioned near the forehead on the headgear 202 to sense when and howforceful contact is made with the headgear 202. The headgear 202 canalso have a microprocessor and wireless transmitter board 210 totransmit the data captured by the sensors on the headgear 202 to acomputer running a data capture application. The sensors 204, 208 can beconnected to the microprocessor through a wired transmitter 211. Themicroprocessor is on the same printed circuit board as the wirelesstransmitter, which can transmit collected data to a computer.

The athlete 200 can wear a waist guard 212 having a force sensor 214, abiometric sensor 216, a motion capture surface 220, a microprocessor andwireless transmitter board 222, and a wired transmitter 218 connectingthe sensors 214, 216 to microprocessor. The sensors 214, 216 and motioncapture surface 220 on the waist guard 212 can be used similarly to thesensors 204, 208 and motion capture surface 206 on the headgear 202.

The athlete 200 can wear a glove 240 that has a motion capture surface244, a force sensor 242, an accelerometer 248, a gyroscope 249, and amicroprocessor and wireless transmitter board 246. The motion capturesurface 244 and force sensor 242 can be used similarly to the sensors onthe headgear 202 and waist guard 212. The accelerometer 248 can be usedto sense motions of the glove 240 during an event. A three-axisaccelerometer can collect data on the motions of the glove 240 in athree dimensional space. A gyroscope 249 can be used to collect data onthe orientation of the glove 240, allowing for the calculation of therotation of the wrist and glove 240. This data can be used in motionanalysis of the glove 240, for example, the type of punch thrown by aboxer. The sensors 242, 248, 249 can be connected to a microprocessorand wireless transmitter board 246 to transmit the data from the glove240 to a computer.

The athlete 200 can also wear footwear 230 having a motion capturesurface 232 and a sensor, microprocessor, and wireless transmitter board234. The motion capture surface 232 can be implemented like the headgear202 and waist guard 212. The sensors on the footwear 230 can includeaccelerometers to measure the motion of the athlete 200. The datacollected by the sensors can be transmitted to a computer and analyzedas discussed in the glove 240 embodiment.

The sensors and data capture devices depicted on any one article of theathlete's clothing can be similarly used on other articles of clothing.For example, an accelerometer can be positioned within headgear 202 tocapture data about the athlete 200. The sensors can also be positionedin different places within the gear or clothing. Further, the sensorscan be placed on the same printed circuit board as the processor andtransmitter or the transmitter can be separate from the processor.

FIG. 3 shows various aspects that can be implemented by the system inFIG. 1. A visualization engine 302 can process information includingenhanced statistics, interactive visualizations, real-time informationfor officials and advanced athletic training programs. The visualizationengine 302 can interact with a television 304 to display live, ondemand, pay per view, DVD, Blu-Ray, Interactive television, and gamingextras. Extras include enhanced statistics, interactive visualizations,and real-time information. The television display can interact live withthe content of the visualization engine by sending signals to and from acable box. The television display can interact with a visual storagemedium such as a DVD or Blu-Ray Disc by embedding information about theathletic activity in the DVD or Blu-Ray Disc. The visualization engine302 can interact with computers 306 for computer extras, virtualizationand 3D rendering, gaming, and training programs. The visualizationengine 302 can also interact with mobile devices 308 such as cell phonesand smart phones to display mobile extras, virtualization and 3Drendering, mobile gaming, and create a mobile community withcommunication and networking.

The exemplary system 100 can also provide support for live events 310.Similar to televisions, statistics and overlays can be displayed on alarge scale display such as a Jumbotron screen at live events. Thesystem can analyze data to detail how tired an athlete is by trendingand/or tracking the speed and force of the athlete's motions. The system100 can also interact with and display information for officials such asreferees, judges, coaches, trainers, and doctors to monitor athletes atan event. Also, the system 100 can be used to display extras on monitorsfor on-site gambling and sweepstakes. The system 100 can also be used ata live event 310 for automated camera control.

In one exemplary embodiment, sensors and other data capture devices canbe placed on a boxer. FIG. 4 illustrates how data can be transmittedfrom a piece of equipment on the boxer's hand or wrist, such as a boxingglove 400 or a cuff 402 to a computer 404. The cuff 402 can be wrappedaround the boxer's wrist and positioned over or under a cuff of theboxing glove 400. The boxing glove 400 has the advantage of beingcapable of having more sensors, such as contact sensors, than the cuff402. The cuff 402 has the advantage of being used with multiple boxinggloves. A sensor and wireless radio board 406 can be a printed circuitboard that can transmit the data captured from the sensors to areceiving board 408 connected to the computer 404. The receiving board408 can be a radio for receiving information from the sensor andwireless radio board 406 or can have additional functionality, such asdata processing. The sensors are not required to be positioned on thesame board as the wireless radio, but can be positioned on the sameboard to save space and weight.

As shown in FIG. 5, a cuff 500 can have a wireless sensor board 502connected to a battery 504 positioned within the cuff 500. The cuff 500can be constructed of foam material to protect the wireless sensor board502 and battery 504. Additional foam 506 can be folded over to create acuff pouch that the wireless sensor board 502 and battery 504 can easilyslip in and out of. The mobility of the wireless sensor board 502 andbattery 504 helps with troubleshooting in the field because one board orbattery can be replaced by another. Due to the miniature size of thewireless sensor board 502 and battery 504, a boxer can comfortably wearthe cuff 500. The wireless sensor board 502 and battery 504 are alsolight for the convenience of the boxer.

In another embodiment, a battery and wireless sensor board 602 can beplaced in a boxing glove 600, as shown in FIG. 6. A foam layer 604around the wireless sensor board 602 can protect the board. With thisprotection, the wireless sensor board 602 can be slipped into a pocket606 in the glove 600. The wireless sensor board 602 is positioned on theon the forearm side of the boxing glove 600 so the board does not absorba direct hit to the outside of the boxing glove 600. The mobility of thewireless sensor board can allow for quick troubleshooting andreplacement. The wireless sensor board 602 can also have inputs forsensors positioned within the glove 600. The glove 600 can have internalsensors connected through a conductive ribbon or wire to the pocket 606.As in the cuff 500 embodiment, the wireless sensor board 602 does nothave to be a single unit.

In yet another embodiment, as shown in FIGS. 7 a to 7 e, a soft switchcan be positioned within a boxing glove to indicate when an impact onthe boxing glove has occurred. A soft switch can be constructed out oftwo layers of conductive fabric 702 separated by a non-conductive mesh704 sewn into the punching face of the glove. FIGS. 7 a and 7 b show aplurality of non-conductive meshes with varying densities. A charge isapplied to the conductive fabric 702. When non-compressed, the meshfabric 704 separates the two conductive fabrics so no current can flowbetween the two conductive layers. Current can only flow when the glovestrikes a target with enough force to temporarily press the two piecesof conductive fabric 702 together through the holes in the mesh. Whenthe face of the glove is compressed by the contact, the two conductivepanels 702 touch through the mesh 704, closing the switch and indicatingan impact. A plurality soft switches can be used to determine what faceof a glove made impact. Further, switches with different mesh densitycan be used to approximate force. By placing multiple soft-switches withvarying mesh sensitivities in a glove, force can be coarselyapproximated. A different amount of force would be required to compresssoft-switches with different density meshes. The switch can be attachedto a conductive ribbon that leads to the pocket 606 in the glove 600.The conductive ribbon can be attached to the wireless sensor board 602allowing for synchronization and transmission of the sensor data.

A property of any switch is bounce, which is multiple contacts of theswitch in the space of a few milliseconds. Bounce leads to a falsereading of the switch, as it may indicate multiple closures when onlyone effective closure occurred. A bounce can be corrected by circuitryusing a capacitor and a resistor or by software to compensate for thebounce. According to known methods, the switch data can be processed toaccount for the bounce once transmitted from the wireless sensor board602 to a computer, which could save battery life.

Various sensors can be placed on the wireless sensor board 800 tocapture data of a boxer's punch, including accelerometers 802 andgyroscopes 804. Accelerometers 802 can be positioned on the sensor board800 to provide data on the acceleration of boxer's punch. Accelerometers802 on the board 800 can have multiple axes. Three-axis accelerometersare available or can be built by using multiple single-axis or dual-axisaccelerometers having the axes arranged orthogonal to each othertogether, thereby creating at least X, Y, and Z axes. Acceleration datacan be measured on each of the axes and the data on the axes can becorrelated to show movement of the wireless sensor board 800 in threedimensions.

Many currently available accelerometers have low range, high resolutioncapabilities or high range, low resolution capabilities. Accelerometerscalculate acceleration, a common unit to measure acceleration is theacceleration due to gravity, g. 1 g=9.8 m. A low range accelerometer mayhave the range of about 0 g to 6 g. This range would be insufficient tomonitor the acceleration of a punch because the punch of a boxer can bein excess of about 100 g. Multiple accelerometers with varying rangesand resolutions can be used to collect more complete data on a boxer.For example, a low-range accelerometer with the range of about −3 g to+3 g can be used in conjunction with medium-range accelerometer with arange of about −18 g to +18 g, and a high-range accelerometer with arange of about −100 g to 100 g. The lower range accelerometers cangenerate more precise data during the initial acceleration anddeceleration phases while the high-range accelerometer can be used tocalculate maximum acceleration.

FIG. 9 shows how a 3-axis accelerometer 900 can be used to calculateorientation. The sensors generate data that about the instantaneousacceleration rates on all three axes. Correlation of this data on asensor 902 yields tilt values in the form of pitch 906 and roll 908 byusing earth's gravity as a reference point. Pitch 906 can be found bycalculating the angular difference between the z-axis location and theforce of gravity by correlating the force of gravity on the y-axis. Roll908 can be found by calculating the angular difference between thez-axis location and the force of gravity by correlating the force ofgravity on the x-axis.

A gyroscope 904 can also be placed on the sensor board to provide dataon the angular motion of a fist as it moves through space. A gyroscopemeasures angular acceleration. A gyroscope can measure the orientationof an object independent of its acceleration. Yaw, pitch, and roll canall be determined by a gyroscope, a gyrometer, or an angular motionsensor. A gyroscope can sense angular rate change, for example at −500degrees to +500 degrees each second. A multiple-axis gyroscope can beused to get complete angular motion data in a three dimensional space.Examples of a gyroscope are the InvenSense IDG-300 and IDG-600. One axiscan be used to sense yaw, a second axis for pitch, and a third axis forroll.

The sensors can be either digital or analog. If the sensors are analog,an analog to digital converter may be necessary to convert the data intoa digital signal to be used by a processor 906. Many micro-controllersavailable today contain built-in analog to digital converters. Theprocessor 906 can then format the data so it is suitable fortransmission. The processor can store the data in its own memory orexternal memory until transmitted.

Data can be collected at one frequency and stored in the memory of theprocessor 906. Then, the processor 906 can transmit the data through aRadio Frequency (RF) Transmitter 908 to an RF Receiver 910 connected toa computer 912. The computer 912 can store the information in variousways, such as a database table. The computer 912 can analyze the data orsend the data to another computer to analyze the data. Multipletransmitters used at the same time can be on different frequencies tominimize radio interference and possible data loss. Various transmittersand receivers can be used, including, but not limited to, Bluetooth,802.11g, 802.11n, and other radios.

The collection of data by the processor 906 can be synchronized so thatthe data collected can be processed together. One way of synchronizingis by using a single clock signal for all sensor readings. Analysissoftware can then analyze the data in real time, with each data point oneach sensor corresponding in time with the other sensors.Synchronization can also occur by timestamping the data to a commonclock, thereby allowing for some of the data to be sensed at differentfrequencies. The timestamps also allow for synchronization by theanalysis software of multiple sensor boards. This can be accomplishedbecause the analysis software will have the data of the clockfrequencies and time stamps of each of the boards. These boards can besynchronized prior to use so the analysis software can analyze data onmultiple sensor boards at the same time.

In one embodiment, a thrown punch is detected and identified as a punchevent within a stream of continuous data. A thresholding scheme combinesthe acceleration along all three axes to detect and identify the punch.When a value exceeds a preset threshold limit, the system can register apunch and begin analyzing the continuous data to determine the type,motion, and other statistical data of a punch. Complete analysis of apunch can take into account data that occurs before the threshold limitis passed.

The raw data collected by the accelerometers and gyroscopes can be usedto calculate instantaneous measurements. Such measurements include thespeed of each punch, the force of each punch, the duration of eachpunch, the distance covered by each punch, and other movements of thefist during a punch.

The speed and velocity of a punch can be determined by integrating theacceleration from a starting point using accelerometer data: v(t)=∫a(t)+v1. Because the acceleration data is in digital format when acomputer processes it, discrete mathematics and a summation can be usedfor the calculation. The computer processing the data can accommodatefor gravity by calculating the direction of gravity in relation to theaxes of the accelerometers when the sensors sense approximately only theforce of gravity (9.8 m/ŝ2). The processing computer can calculate thedirection of the force of gravity during motions thereafter bycorrelating accelerometer and gyroscope data.

The distance covered by each punch can be determined over the time ofthe punch: d(t)=∫ v(t). Acceleration starting at a fixed point can beintegrated to calculate speed at a given time. The speed can beintegrated to calculate distance.

Sensor data can be analyzed to determine the force of a punch. Force isequal to the product of mass times acceleration, or F=ma. Mass is howmuch matter is present in an object, while acceleration is the change invelocity over time. The force of a punch can be determined using thedeceleration of the fist at the time of impact of the punch and the massof a boxer's arm. The mass of a boxer's arm can be approximated bycalibration. A boxer equipped with a sensor glove can punch a forcesensor, like a force sensing resistor. The force sensor determines theforce of a punch. The accelerometer determines the acceleration of thepunch. Using those two data points, we can determine the approximatemass of the boxer's arm for that particular type of punch. Theapproximate mass of the boxer's arm for a particular type of punch canbe used as a constant to approximate the force of a boxer's punch. Theapproximate mass of a boxer's arm can be profiled so that differenttypes of punches by a particular boxer have different approximatemasses. This is to account for how much of a boxer's body is used duringa particular type of punch. Multiple profiling rules can be created fora boxer.

The duration of each punch can be found by using a clock to time a punchstarting when acceleration starts and ending at hit, block, or miss. Ifa thresholding level is used as a cue that a punch has begun, analysissoftware can be used to determine when the punch actually started, notjust when the threshold was met. A rule can be set so that a punchstarts when a sharp acceleration begins. Deceleration data can be usedto determine when the punch ended.

A sharp deceleration during a punch event can indicate a hit. Forexample, when an uppercut hits the abdomen of an opponent, the uppercutdecelerates sharply due to the hit. A sharp deceleration is also seenwhen a jab hits the head of an opponent. In this case, though, the sharpdeceleration is not the end of the movement, rather the sharpdeceleration is part of the a complete follow through motion. Multiplerules can be set for when a punch event has ended and a hit isregistered.

A block can be indicated by a lateral movement of the fist during thecourse of a punch revealed by an acceleration to the side with a forwarddeceleration. Additional information can be taken from an opponent'sgloves registering a blocking motion at the same time as the punchevent. The data from both boxers can be correlated to show both a punchand block. A block motion by the defender can be recorded as a lateralmotion of the glove, as well as an inward motion by the glove at thetime of an impact. The motion can be indicated during the punch event bythe offensive opponent. Multiple rules can be set for when a punch eventhas ended and a block is registered. Data from both boxers can beprofiled and rules set up for both individuals, as well as generalrules.

A missed punch can be indicated by a slow forward deceleration alongwith a completed punch movement. A completed punch movement can be setas a rule. Accelerometer data not indicating a hit or block decelerationduring the course of a punch event can be considered a miss outcome.Multiple rules can be set for when a punch event has ended and a miss isregistered. Different punch types can have different miss endpoints.Other end outcomes can also be registered, such as a deflection.

Lateral and other movements of the fist during a punch can be identifiedthrough data on lateral acceleration. Lateral acceleration can becalculated by correlating accelerometer and gyroscope data. As a punchmoves forward, lateral acceleration can be determined as beingperpendicular with the forward acceleration and parallel to the ground.The acceleration in combination with orientation data can be used todetermine lateral movements. Other movements can include guarding andblocking during the punch movement of the opponent.

Sensor data can be analyzed to determine the type of punch thrown. Thetype of punch can be determined by using gyroscopes, accelerometers, orboth in combination. Vertical, outward, and forward acceleration as wellas wrist movements can be determined by correlating gyroscopeorientation data and accelerometer data. A computer can be programmedwith a set of rules defining each type of punch. A punch can then bedetermined by comparing the live or recorded data with the set of rules.The rules can be in the form of pre-identified motions or outcomes.

FIG. 10 a depicts a jab motion along an x-axis. The motion can also bedetected in three dimensions, but is simplified in this example to twoaxes. A jab starts from a block position 1002 a, then moves forward witha twisting of the wrist 1002 b and ends with the palm faced down and thearm extended 1002 c. Gyroscope data shows that a jab goes from a roughlyvertical orientation 1002 a while in guard position, moves straight outfrom the leading shoulder 1002 b, and rotates approximately 90 degreesto finish with the palm facing downward 1002 c at the end of the punch.Accelerometer data shows that a jab is a fast acceleration from theleading hand in a direction away from the boxer's body. The data can beused to create a rule for a complete jab motion and the rule can bestored in a database. Pre-identified motion patterns can also be used tocreate the rule. A separate jab rule can be created for a jab that hits.The rule can include a sharp deceleration of the punch followed by afollow through on the motion. Different rules can be set up fordifferent stages of completion of the punch before deceleration.Multiple rules for jabs can be created, some specifically calibrated toan individual boxer.

FIG. 10 b shows an uppercut motion occurring on a z-axis and an x-axis.The motion can also be detected in three dimensions, but is simplifiedin this example to two axes. An uppercut is a close proximity punch withvertical movement and a small forward motion. An uppercut can start froma guard position 1004 a, then the accelerometer data would show avertical acceleration with a small forward component. The motion can beviewed as parabolic, with the motion being completed 1004 b as theboxing glove comes back towards the boxer. The boxer's wrist also twistsso that the inside of the fist comes towards the boxer. A gyroscope willindicate the twisting of the wrist at roughly 45-90 degrees from thebeginning of the punch to the end. The data can be used to create a rulefor a complete uppercut motion and the rule can be stored in a database.Pre-identified motion patterns can also be used to create the rule.Separate rules can be created for when an uppercut that hits anopponent. Accelerometer data can indicate a hit by having a sharpdeceleration in the forward and vertical movement. Different rules canbe set up for different stages of completion of the punch beforedeceleration. Multiple rules for uppercuts can be created, somespecifically calibrated to an individual boxer.

FIG. 10 c depicts a right hook on an x-axis and y-axis. The motion canalso be detected in three dimensions, but is simplified in this exampleto two axes. A left or right hook is a punch with little verticalmovement with a component of outward, forward, and inward motion. From aguard position, the punch can be seen as moving outward 1006 a. Thepunch moves forward and outward 1006 b, then begins to turn inward 1006c. The hook is completed with the fist moving inward 1006 d towards anopponent. The accelerometers will show the movement as forward andoutward, and then forward and inward. The gyroscope will show thetwisting of the wrist with the palm facing downward at the end of thepunch. Data can be used to create a rule for a complete hook motion andthe rule can be stored in a database. Pre-identified motion patterns canalso be used to create the rule. Separate rules can be created for whena hook hits an opponent. Accelerometer data can indicate a hit by havinga sharp deceleration in the forward and inward movement. Different rulescan be set up for different stages of completion of the punch beforedeceleration. Separate rules can be created for hooks, some specificallycalibrated to an individual boxer.

A soft switch, described above, can be coupled to the accelerometers andgyroscopes to add an additional data point to complement accelerationdata. The soft switch can help analyze the data by giving a time ofimpact. Impact can be used as a point for when a hit occurs, when ablock might occur, and when a miss occurs. A hit or blocked punch canregister data indicating the time of impact. With the time of impact asa reference, the follow through of a punch can be analyzed. A miss canoccur when a punch is completed without any impact.

Motion and punch data can be profiled and stored in a database. Aparticular boxer's punches and motions can also be profiled to create aboxer specific motion profile. The profiles can go into even more detailand track changes in motions between different rounds of a boxing match.Profiles can include data and rules about pre-identified motions oroutcomes. For example, one outcome can be a jab. As discussed, thetiming, acceleration, and angular rate change data for this type ofmotion and outcome is different than that of an uppercut. FIG. 10 dgraphically illustrates how sensors could read different data for themotion of a jab and the motion of an uppercut. The graphs show the X, Y,and Z axes of an accelerometer as well as the X and Y orientation of agyroscope during the course of a jab and a subsequent uppercut. Theaccelerometer and/or gyroscope data can be used to identify a jab oruppercut. Similar analysis can be used to detect the outcome of a punch,whether a punch landed, missed, or was blocked. The orientation of thegloves and little acceleration of the fists can represent a profile forthe automatic detection of a boxer's stance.

Analysis software can be used dynamically on the data collected by thesensors to qualitatively determine whether a punch has been thrown, andif so, what kind of punch was thrown. The software can be implemented onknown devices such as a personal computer, laptop, a special purposecomputer, a server, and various other devices with processors. Thissoftware can be stored on a computer readable medium and can executeprogrammable code on a general purpose computer. FIG. 11 illustrates anexemplary method to analyze the data dynamically.

A computer running analysis software 1102 receives activity-relatedsensor data. A transmitter can send data wirelessly from the sensors toa radio connected to the computer. The computer can process raw datainto more usable data structures, such as a punch event. The computercan recognize a punch event as a data on an accelerometer acceleratingpast a threshold value.

Once a punch event has been detected, the punch can be analyzed. Thecomputer obtains a motion profile from a profile database 1104. Thedatabase can contain rules for different punch types and punch outcomes.The database can be on a different computer, accessed through a network,or be preloaded onto the computer running the analysis software.

In stage 1106, the computer compares the activity-related data to themotion profile rules. Punch event data can be compared to general punchrules to narrow the type of punch into categories, such as a possibleuppercut, hook, or jab. The categories are rules with broad punch dataevent possibilities. The rules can be construed at as a container fortypes of punches. The broader the rule, the more punch data that can fitwithin the container or category. The punch event data can then becompared to more specific rules within the general category.

In stage 1108, the analysis software can identify a pre-identifiedmotion or outcome in the motion profile corresponding to theactivity-related data. The motion rules can be compared to the punchevent data to determine what type of punch occurred. Analysis can beused to determine the broad category of the punch event as well as moredescriptive categories. A more descriptive categories can include a jabwith a follow through, an uppercut with no follow through, a missed jab,and a blocked right hook. If an unknown motion is discovered, the motionwill be added to the database and a description for the motion can laterbe filed. Outcomes can be the motions described above or in the form ofconclusions, such as a hit, block, or miss. Outcomes can be determinedby comparing outcome profile rules to the punch event data. Punch eventdata can be in the form of a raw data stream or data patterns.

Stage 1110 shows the computer storing or displaying the identifiedpre-identified motions or outcomes. An example of displaying theidentified pre-identified motions or outcomes is by overlaying theanalysis on a live boxing screen, such as a Jumbotron screen at anevent, a television, or a website. Information that a certain type ofpunch was registered can also be stored in a database for laterstatistical analysis. The information can also be used to updateboxer-specific motion profiles, both generally and round-by-round.

Another feature is software to generate statistics and score a boxingmatch or sporting event. In boxing, the system can count the number andtypes of punches thrown, landed, and blocked as identified by theanalysis software. The computer can act as an unbiased and impartialreferee. The scoring can be overlaid on a large-scale display at a liveevent, a television, or via a website, or stored in a database forfuture use.

Along with scoring and statistics, another aspect is software todetermine trending during the course of an event. Trending includes thenumber of punches during an event, decrease in punch speed over thecourse of an event, the current most powerful or fastest punch of thenight, and the most powerful or fastest puncher. The number of punchesfor each athlete and each hand can be counted throughout the night.Decrease or increase in punch speed throughout the course of an eventcan be determined by tracking the calculated speed of each punch thrownduring the night by an athlete. All of this information can be shown onan overlay during the course of a live event.

FIG. 12 exemplifies an embodiment where data gathered and statistics canbe overlaid on a screen. The screen can be either interactive ornon-interactive. In an interactive screen, there can be options to chat1202 or buy merchandise 1204. An interactive user can choose theoverlaid information boxes 1206, 1208 to view information about an eventand the athletes. A non-interactive user can see rotating informationboxes.

An exemplary system can also use the wireless radios on articles ofclothing or equipment to triangulate the position of an athletes duringan event. The signal strength of a radio on the athlete can be used toapproximate the distance between a signal strength monitor and theradio. The signal strength monitor can also be a receiver. Distance froma signal strength monitor can be calculated using the inverse squarelaw, signal strength=1/distance squared. The signal strength monitor canalso be calibrated to ensure proper functionality. Calculating distancefrom a radio signal can be accomplished using existing technology. FIG.13 shows a two-dimensional example of location tracking throughtriangulation. Using the distance as a radius, the location of thesignal is narrowed to be on the perimeter 1302 of a circle. Location canbe triangulated using multiple signal strength monitors. Adding a secondfixed point of reference narrows the position of the radio signal to twopoints, 1304 and 1306. Adding a third fixed point of reference leavesone location point 1308 in two dimensions. Adding a fourth fixed pointof reference allows for three dimensional tracking of the signals, usingthe surface of a sphere instead of a circle for tracking. More than foursignal strength monitors can be used. The signal strength monitors canbe placed in the corners of a boxing ring. Four monitors with knownheights and locations can be used to create a three-dimensional virtualboxing ring to track the motion of the boxers. In an alternativeembodiment, eight signal strength monitors fixed around a boxing ringcan be used to track the motion of a boxer or the locations of radios onthe boxer. For example, four signal strength monitors can be fixed athigh locations and four can be fixed at lower locations, e.g., the baseof the boxing ring.

In another embodiment, one or more cameras can be used to track theposition of boxers during a boxing match. A single camera can be used totrack athletes in two dimensions. A camera can be placed directly abovethe boxing ring. A high-resolution camera can distinguish the boxers asdistinct from the floor of the ring. A computer can analyze the cameradata frame by frame to track boxers. The data can be analyzed by acomputer to show how a boxer is controlling the ring over the course ofa round or fight, such as by counting the number of punches thrown,blocks used, position within the ring, or other collected data.

In another embodiment, multiple cameras can be used to capture themotions of the boxer's body. The motion capture can be accomplishedusing existing technology. Retro-reflective markers or motion capturesurfaces can be placed on the body so the cameras can clearlydistinguish between the body and the background. Placement of markers onthe joints would allow for more detail, but markers on athletic clothingwould interference less with a boxer. The images from the cameras can beused to create a virtual three-dimensional model or representation ofthe boxers in a space.

Retro-reflective markers may interfere with normal television cameraoperation. Therefore, an alternative to track the body instead ofrelying on retro-reflective markers is to use UV markers, UVilluminators, and cameras capable of capturing the UV spectrum. Athletescould be coated with sun block to reflect the UV light, which can beused to distinguish the athletes from the background. Normal televisioncameras can be fitted with UV filters to filter out any interference.The use of UV illuminators is not necessarily recommended due to thepossibility that the illuminators may be hazardous to the health of theathletes and audience.

A thermal imaging camera can be used to detect the surface temperaturechanges of a boxer. The thermal camera can be used to both track thesurface temperature of an athlete and as a way to distinguish betweenthe athletes and other objects. Points of an athlete, identified bytemperature, can be marked by a computer and followed throughout anevent.

Data from cameras can be analyzed by connecting the cameras to ananalysis system. A computer can analyze camera data to detect punchtypes. From above, punches can be seen in two dimensions, the x-axis andy-axis. Other cameras can be set on the sides of an event to give anx-axis and z-axis view, and a y-axis and z-axis view. The computer canmark identifiable portions of a boxer's body by differentiating thoseportions from background objects. Portions that can be marked include aboxing glove and a boxer's elbow. Once portions of a boxer's body aremarked, discrete data can be generated from video captured by thecameras. The generated data can be analyzed to determine the type ofpunch thrown. Similar methods to analyzing acceleration data can be usedon the video data. For example, from above, a left hook can be analyzedas an outward forward motion followed by an inward forward motion. Ahigh resolution camera can even record the twisting of the forearmduring a punch. From the point of view of a camera, a jab goes from aroughly vertical orientation while in guard position, quickly movesstraight out from the leading shoulder and rotates approximately 90degrees to finish with the palm facing downward at the end of the punch.The camera can isolate that movement using markers. Data could becorrelated with data from an accelerometer and gyroscope to increase thereliability of the analysis.

Data from cameras can also be analyzed to determine uppercuts, left andright hooks, and other punches. A left hook can be seen by a cameraconnected to a computer as moving outward from the side of a boxer andthen moving forward, with little vertical movement. An uppercut can beseen by the computer as having a good amount of vertical movement by theglove, with little horizontal movement. Once again, this data can becorrelated with data from accelerometer, gyroscope, and impact sensorsto increase the reliability of the analysis.

In yet another embodiment, the system can have a camera pointing at thetriangulated position of the boxers for automatic camera movement. Acomputer can be programmed to create a three-dimensional grid of theboxing ring. The computer can then triangulate the positions of theboxers using distance information from multiple radios placed on eachboxer. The camera can be equipped to be moved autonomously orsemi-autonomously by computer. The computer can track the movements ofthe boxers in three dimensions through triangulation and signal thecamera to move.

Once a camera detects the gloves, the body, and the heads of two boxers,a computer can determine where a punch hits with some accuracy. Multiplecameras can be used to capture data from multiple angles. The head ofeach boxer can be marked by the computer, along with the torso andboxing gloves. When a boxer's punch is thrown, the computer can analyzethe glove's location compared to the head and body of the opponent.Camera data can be correlated with accelerometer and gyroscope data tocoordinate when a punch is thrown, its impact, and its location. Forexample, a punch event can be recognized using accelerometer data. Thetype of punch can be deduced by comparing accelerometer and gyroscopedata to motion profile rules. An impact time can be calculated usingdeceleration rules or an impact sensor. A camera can determine where thepunch glove was as compared to the other boxer at the time of impact.

In another embodiment, the system can be used for training. The systemcan obtain raw data and analyze it while an athlete is training.Analysis software can display faults of an athlete's movements whiletraining. For instance, if an amateur boxer is sparring with aprofessional boxer, both using a system to monitor their movements, theamateur boxer can compare the way he holds his hands as compared to theprofessional in order to improve in the future. The computer can evengive the trainee instructions on how to improve. A trainee can also usethe information to improve the force of his punch. Further, fortraining, additional sensors can be used that would normally not be usedin a live event, such as piezoelectric sensors to sense force and heartrate monitors.

Though many of the embodiments discussed are examples of boxing, thesystems and methods described can be applied to various physicalenvironments. For instance, martial arts and other physical activitiescan use this technology for training, keeping statistics, scoring, andadding entertainment value. In one example, sensors can be placed infootwear for kickboxing and soccer. In another example, motion profilingtechniques can be used to determine what motions occurred by usingmotion rules and profiles. Outcomes can be determined for a variety ofmotions and movements for different activities. Event data can betriggered by different thresholds to correspond with different sports.In ice skating, an event can begin when a certain threshold angularacceleration is begun. For example, an event can be started forcalculating the rotational speed of a lutz and other jumps. Inwrestling, moves, such as a suplex, body slam, or a chop, can bedetermined outcomes from data gathered through data capture devices.Other uses can include, without limitation, kicking a ball in soccer orfootball, gymnastics judging, free style skiing judging, diving judging,and the swinging of a golf club. Additionally, an outcome can be a foulor misstep, such as a step outside of a boundary or a punch below belt.Such outcomes can be used in judging to penalize an athlete or reduce anathlete's point total.

The above-described technology can be implemented on known devices suchas a personal computer, a special purpose computer, cellular telephone,personal digital assistant (PDA), a programmed microprocessor ormicrocontroller and peripheral integrated circuit element(s), and ASICor other integrated circuit, a digital signal processor, a hard-wiredelectronic or logic circuit such as a discrete element circuit, aprogrammable logic device such as a PLD, PLA, FPGA, PAL, or the like. Ingeneral, any device capable of implementing the processes describedherein can be used to implement the systems and techniques according tothis invention.

It is to be appreciated that the various components of the technologycan be located at distant portions of a distributed network and/or theInternet, or within a dedicated secure, unsecured and/or encryptedsystem. Thus, it should be appreciated that the components of the systemcan be combined into one or more devices or co-located on a particularnode of a distributed network, such as a telecommunications network.

Furthermore, it should be appreciated that the various links connectingthe elements can be wired or wireless links, or any combination thereof,or any other known or later developed element(s) that is capable ofsupplying and/or communicating data to and from the connected elements.Programmable code can be embodied in a module including hardware,software, firmware, or combination thereof that is capable of performingthe functionality associated with that code. The terms determine,calculate and compute, and variations thereof, as used herein are usedinterchangeably and include any type of methodology, process,mathematical operation or technique.

Moreover, the disclosed methods may be readily implemented in software,e.g., as a computer program product, executed on a programmed generalpurpose computer, cellular telephone, PDA, a special purpose computer, amicroprocessor, or the like. In these instances, the systems and methodsof this invention can be implemented as a program embedded on a personalcomputer such as a JAVA®, CGI or Perl script, as a resource residing ona server or graphics workstation, as a routine embedded in a dedicatedimage system, or the like. The systems and methods of this invention canalso be implemented by physically incorporating this system and methodinto a software and/or hardware system, such as the hardware andsoftware systems of a computer. Such computer program products andsystems can be distributed and employ a client-server architecture.

The embodiments described above are intended to be exemplary. Oneskilled in the art recognizes that numerous alternative components andembodiments may be substituted for the particular examples describedherein and still fall within the scope of the invention.

1. A computer-implemented method for analyzing activity of an athlete topermit qualitative assessments of that activity using a processor, themethod comprising: receiving activity-related data from sensors on theathlete; storing the activity-related data in a database; comparing bythe processor the received activity-related data against a set ofpre-identified discrete outcomes; identifying by the processor one ofthe pre-identified outcomes as corresponding to the receivedactivity-related data based on the comparison of the receivedactivity-related data against the set of pre-identified outcomes; anddisplaying the identified pre-identified outcome.
 2. The method in claim1, wherein the activity-related data comprises data from at least oneaccelerometer.
 3. The method in claim 2, wherein the athlete is a boxer.4. The method in claim 1, wherein the pre-identified outcomes are motiondata patterns.
 5. A system for analyzing activity of an athlete topermit qualitative assessments of that activity, the system comprising:a first processor to receive activity-related data from at least onesensor positioned on the athlete, wherein the at least one sensorcomprises: a first three-axis accelerometer coupled to the firstprocessor; and a first gyroscope coupled to the first processor; a firstdatabase to store the activity-related data from the at least onesensor; a second database comprising pre-identified motion rules; atransmitter coupled to the first processor to transmit theactivity-related data to a second processor; a receiver coupled to thesecond processor to receive the activity related data from thetransmitter, wherein the second processor compares the receivedactivity-related data to the pre-identified motion rules, and identifiesa pre-identified motion from the pre-identified motion rules thatcorresponds to the received activity-related data.
 6. The system inclaim 5, further comprising: a second three-axis accelerometer coupledto the first processor, wherein the activity-related data furthercomprises data generated by the second three-axis accelerometer, andwherein the first three-axis accelerometer has a lower range and higherresolution than the second three-axis accelerometer.
 7. The system inclaim 5, wherein if the second processor cannot identify apre-identified motion from the pre-identified motion rules, the secondprocessor creates a new pre-identified motion rule and adds the newpre-identified motion rule to the second database.
 8. The system inclaim 5, further comprising a display to display the identifiedpre-selected motion.
 9. The system in claim 6, further comprising: asecond gyroscope coupled to the first processor, wherein theactivity-related data further comprises data generated by the secondgyroscope, and wherein the first gyroscope has a lower range and higherresolution than the second gyroscope.
 10. The system in claim 5, furthercomprising: at least three signal strength monitors coupled to thesecond processor, wherein the second processor uses the at least threesignal strength monitors to triangulate a position of the transmitter;and a camera coupled to the second processor to follow the triangulatedposition of the transmitter.
 11. The system in claim 10, wherein thecamera sends camera data to the second processor, and wherein the secondprocessor correlates the camera data with the activity-related data tomore accurately identify the pre-identified motion.
 12. A method foranalyzing hand activity of a boxer with an accelerometer and a gyroscopedisposed on a hand of the boxer using a computer having a memory topermit qualitative assessments of the activity, the method comprising:receiving by a computer hand activity-related accelerometer data fromthe accelerometer disposed on the hand of the boxer; receiving by acomputer hand activity-related gyroscope data from the gyroscopedisposed on the hand of the boxer; storing the hand activity-relatedaccelerometer and the hand activity-related gyroscope data in thememory; detecting by the computer a hand event; if the hand event isdetected, comparing by the computer the received hand activity-relatedaccelerometer data and hand activity-related gyroscope data against amotion profile; and identifying by the computer a hand motioncorresponding to the received hand activity-related accelerometer andgyroscope data based on the comparison of the received handactivity-related accelerometer and gyroscope data against the motionprofile.
 13. The method of claim 12, wherein the identified hand motioncomprises at least one of the group consisting of a punch, a block, anda deflection.
 14. The method of claim 13, wherein the punch comprises atleast one of the group consisting of a jab, an uppercut, and a hook. 15.The method of claim 12, further comprising the step of displaying theidentified hand motion.
 16. The method of claim 14, further comprisingthe step of determining whether the punch landed, missed, or wasblocked.
 17. The method of claim 12, wherein the identified hand motioncomprises a punch, and wherein the method further comprises determininga punch type of the punch.
 18. The method of claim 17, furthercomprising the step of determining the force of the punch.
 19. Themethod of claim 18, further comprising the steps of: determining theforce of the punch of the boxer during a boxing match; and displayingthe force and the punch type during the boxing match.
 20. The method ofclaim 19, further comprising the step of judging the boxing match basedat least in part on the identified hand motion.
 21. A computer programproduct comprising: a computer usable medium having computer readableprogram code embodied therein for analyzing hand activity of a boxerhaving an accelerometer and a gyroscope disposed on a hand of the boxer,the computer readable program code in the computer program productcomprising: computer readable program code for receiving handactivity-related accelerometer data from the accelerometer disposed onthe hand of the boxer; computer readable program code for receiving handactivity-related gyroscope data from the gyroscope disposed on the handof the boxer; computer readable program code for storing the handactivity-related accelerometer and the hand activity-related gyroscopedata in the memory; computer readable program code for detecting a handevent; computer readable program code for comparing the received handactivity-related accelerometer data and hand activity-related gyroscopedata against a motion profile if the hand event is detected; andcomputer readable program code for identifying a hand motioncorresponding to the received hand activity-related accelerometer andgyroscope data based on the comparison of the received handactivity-related accelerometer and gyroscope data against the motionprofile.
 22. The computer program product of claim 21, wherein theidentified hand motion comprises at least one of the group consisting ofa punch, a block, and a deflection.
 23. The computer program product ofclaim 22, wherein the punch comprises at least one of the groupconsisting of a jab, an uppercut, and a hook.
 24. The computer programproduct of claim 21, further comprising computer readable program codefor displaying the identified hand motion.
 25. The computer programproduct of claim 23, further comprising computer readable program codefor determining whether the punch landed, missed, or was blocked. 26.The computer program product of claim 21, wherein the identified handmotion comprises a punch, and wherein the computer readable program codefurther comprises computer readable program code for determining a punchtype of the punch.
 27. The computer program product of claim 26, furthercomprising computer readable program code for determining the force ofthe punch.
 28. The computer program product of claim 27, furthercomprising: computer readable program code for determining the force ofthe punch of the boxer during a boxing match; and computer readableprogram code for displaying the force and the punch type during theboxing match.
 29. The computer program product of claim 28, furthercomprising computer readable program code for judging the boxing matchbased at least in part on the identified hand motion.
 30. A computerprogram product comprising: a computer usable medium having computerreadable program code embodied therein for analyzing activity of anathlete to permit qualitative assessments of that activity, the computerreadable program code in the computer program product comprising:computer readable program code for receiving activity-related data fromsensors on the athlete; computer readable program code for storing theactivity-related data in a database; computer readable program code forcomparing by the processor the received activity-related data against aset of pre-identified discrete outcomes; computer readable program codefor identifying by the processor one of the pre-identified outcomes ascorresponding to the received activity-related data based on thecomparison of the received activity-related data against the set ofpre-identified outcomes; and computer readable program code fordisplaying the identified pre-identified outcome.
 31. The computerprogram product in claim 30, wherein the activity-related data comprisesdata from at least one accelerometer.
 32. The computer program productin claim 31, wherein the athlete is a boxer.
 33. The computer programproduct in claim 30, wherein the pre-identified outcomes are motion datapatterns.
 34. A system for analyzing punch activity of a boxer with anaccelerometer and a gyroscope disposed on a hand of the boxer to permitqualitative assessments of the activity, the system comprising: meansfor receiving hand activity-related accelerometer data from theaccelerometer disposed on the hand of the boxer; means for receivinghand activity-related gyroscope data from the gyroscope disposed on thehand of the boxer; means for storing the hand activity-relatedaccelerometer and the hand activity-related gyroscope data; means fordetecting a hand event; means for comparing the received handactivity-related accelerometer data and hand activity-related gyroscopedata against a motion profile if the hand event is detected; and meansfor identifying a hand motion corresponding to the received handactivity-related accelerometer and gyroscope data based on thecomparison of the received hand activity-related accelerometer andgyroscope data against the motion profile.
 35. The system of claim 34,wherein the identified hand motion comprises at least one of the groupconsisting of a punch, a block, and a deflection.
 36. The system ofclaim 35, wherein the punch comprises at least one of the groupconsisting of a jab, an uppercut, and a hook.
 37. The system of claim34, further comprising means for displaying the identified hand motion.38. The system of claim 36, further comprising means for determiningwhether the punch landed, missed, or was blocked.
 39. The system ofclaim 34, wherein the identified hand motion comprises a punch, andwherein the system further comprises means for determining a punch typeof the punch.
 40. The system of claim 39, further comprising means fordetermining the force of the punch.
 41. The system of claim 40, furthercomprising: means for determining the force of the punch of the boxerduring a boxing match; and means for displaying the force and the punchtype during the boxing match.
 42. The system of claim 41, furthercomprising means for judging the boxing match based at least in part onthe identified hand motion.
 43. A computer-implemented method fordisplaying qualitative hand assessment data of a boxer having anaccelerometer and a gyroscope disposed on a hand of the boxer, themethod comprising: receiving real-time video data of the boxer;receiving data from a visualization engine, wherein the data comprisesreal-time hand analysis data, and wherein the real-time hand analysisdata comprises data identified by an analysis engine as one of apre-identified outcome stored in a database corresponding to the datafrom the accelerometer and the gyroscope; and simultaneously displayingthe real-time video data and the real-time hand analysis data.
 44. Themethod of claim 43, wherein the real-time hand analysis data comprises atype of a punch that the boxer throws.
 45. The method of claim 43,wherein the real-time hand analysis data is superimposed over thereal-time video data.
 46. The method of claim 43, wherein the real-timehand analysis data comprises whether a punch landed, missed, or wasblocked.